home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…tion Library 4 (Reseller) / Apple Ref. & Pres. Lib.v4.0.iso / 5-Fonts & Software / HyperCard 1.2.5 / More Stacks / Plots / background_2620.txt < prev    next >
Text File  |  1989-09-06  |  8KB  |  327 lines

  1. -- background: 2620 from stack: in
  2. -- bmap block id: 2431
  3. -- flags: 0000
  4. -- background id: 0
  5. -- name: 
  6. ----- HyperTalk script -----
  7. on openBackground
  8.   push recent card
  9. end openBackground
  10.  
  11. function frameheight
  12. return 265
  13. end frameheight
  14.  
  15. function framewidth
  16. return 395
  17. end framewidth
  18.  
  19. function framebottom
  20. return 296
  21. end framebottom
  22.  
  23. function frameleft
  24. return 25
  25. end frameleft
  26.  
  27.  
  28.  
  29.  
  30. -- part 1 (button)
  31. -- low flags: 00
  32. -- high flags: 0000
  33. -- rect: left=0 top=314 right=342 bottom=34
  34. -- title width / last selected line: 0
  35. -- icon id / first selected line: 1014 / 1014
  36. -- text alignment: 1
  37. -- font id: 0
  38. -- text size: 12
  39. -- style flags: 0
  40. -- line height: 16
  41. -- part name: Prev
  42. ----- HyperTalk script -----
  43. on mouseUp
  44.   visual effect wipe right
  45.   go to previous card
  46. end mouseUp
  47.  
  48.  
  49. -- part 2 (button)
  50. -- low flags: 00
  51. -- high flags: 0000
  52. -- rect: left=37 top=317 right=342 bottom=69
  53. -- title width / last selected line: 0
  54. -- icon id / first selected line: 21700 / 21700
  55. -- text alignment: 1
  56. -- font id: 0
  57. -- text size: 12
  58. -- style flags: 0
  59. -- line height: 16
  60. -- part name: Home
  61. ----- HyperTalk script -----
  62. on mouseUp
  63.   visual effect iris close
  64.   go home
  65. end mouseUp
  66.  
  67.  
  68.  
  69.  
  70. -- part 3 (button)
  71. -- low flags: 00
  72. -- high flags: 0000
  73. -- rect: left=440 top=314 right=342 bottom=477
  74. -- title width / last selected line: 0
  75. -- icon id / first selected line: 1012 / 1012
  76. -- text alignment: 1
  77. -- font id: 0
  78. -- text size: 12
  79. -- style flags: 0
  80. -- line height: 16
  81. -- part name: Return
  82. ----- HyperTalk script -----
  83. on mouseUp
  84.   visual effect iris close
  85.   pop card
  86. end mouseUp
  87.  
  88.  
  89.  
  90. -- part 4 (button)
  91. -- low flags: 00
  92. -- high flags: 0000
  93. -- rect: left=479 top=314 right=342 bottom=512
  94. -- title width / last selected line: 0
  95. -- icon id / first selected line: 1013 / 1013
  96. -- text alignment: 1
  97. -- font id: 0
  98. -- text size: 12
  99. -- style flags: 0
  100. -- line height: 16
  101. -- part name: Next
  102. ----- HyperTalk script -----
  103. on mouseUp
  104.   visual effect wipe left
  105.   go to next card
  106. end mouseUp
  107.  
  108.  
  109. -- part 5 (field)
  110. -- low flags: 00
  111. -- high flags: 4007
  112. -- rect: left=440 top=26 right=299 bottom=501
  113. -- title width / last selected line: 0
  114. -- icon id / first selected line: 0 / 0
  115. -- text alignment: 65535
  116. -- font id: 3
  117. -- text size: 12
  118. -- style flags: 0
  119. -- line height: 16
  120. -- part name: Data
  121.  
  122.  
  123. -- part 6 (button)
  124. -- low flags: 00
  125. -- high flags: A003
  126. -- rect: left=76 top=314 right=336 bottom=132
  127. -- title width / last selected line: 0
  128. -- icon id / first selected line: 0 / 0
  129. -- text alignment: 1
  130. -- font id: 0
  131. -- text size: 12
  132. -- style flags: 0
  133. -- line height: 16
  134. -- part name: Bar
  135. ----- HyperTalk script -----
  136. on mouseUp
  137.   put the userLevel into saveLevel
  138.   if the userLevel < 3 then set userLevel to 3 -- "Painting"
  139.   if the userLevel < 3 then exit mouseUp
  140.   put "Sample Bar Graph" into field "Title"
  141.   clearScreen
  142.   put empty into background field "total"
  143.   reset paint
  144.   choose rect tool
  145.   set lineSize to 1
  146.   set pattern to 14
  147.   set filled to true
  148.   put frameleft() into horiz
  149.   put maxLine(field "Data") into maxValue
  150.   put the number of lines in field "Data" into dataCount
  151.   put round(framewidth()/dataCount) into horizStep
  152.   put round(horizStep * 3/4) into width
  153.   repeat with i = 1 to dataCount
  154.     get line i of field "data"
  155.     if it is not empty then
  156.       put round(frameheight() * it / maxValue) into height
  157.       drag from horiz,framebottom()-height to horiz+width,framebottom()
  158.     end if
  159.     add horizStep to horiz
  160.   end repeat
  161.   reset paint
  162.   choose browse tool
  163.   set userLevel to saveLevel
  164. end mouseUp
  165.  
  166.  
  167.  
  168.  
  169. -- part 7 (button)
  170. -- low flags: 00
  171. -- high flags: A003
  172. -- rect: left=137 top=314 right=336 bottom=193
  173. -- title width / last selected line: 0
  174. -- icon id / first selected line: 0 / 0
  175. -- text alignment: 1
  176. -- font id: 0
  177. -- text size: 12
  178. -- style flags: 0
  179. -- line height: 16
  180. -- part name: Coin
  181. ----- HyperTalk script -----
  182. on mouseUp
  183.   put the userLevel into saveLevel
  184.   if the userLevel < 3 then set userLevel to 3 -- "Painting"
  185.   if the userLevel < 3 then exit mouseUp
  186.   put "Sample Coin Graph" into field "Title"
  187.   clearScreen
  188.   put empty into background field "total"
  189.   reset paint
  190.   choose oval tool
  191.   set lineSize to 2
  192.   set filled to true
  193.  
  194.   put frameLeft() into horiz
  195.   put maxLine(field "Data") into maxValue
  196.   set cursor to 4 -- watchCursor
  197.  
  198.   put the number of lines in field "Data" into coins
  199.   if coins > 10 then
  200.     answer "Only the first 10 data items can be plotted." with "OK"
  201.     put 10 into coins
  202.   end if
  203.  
  204.   repeat with i = 1 to coins
  205.     get line i of field "data"
  206.     if it is not empty then
  207.       put round(frameHeight()/8.2 * it/maxValue) into coinCount
  208.       set pattern to 13
  209.       drawCoins horiz,frameBottom()-2,coinCount
  210.     end if
  211.     add 40 to horiz
  212.   end repeat
  213.   reset paint
  214.   choose browse tool
  215.   set userLevel to saveLevel
  216. end mouseUp
  217.  
  218. on drawCoins left,bottom,howMany
  219.   put bottom into y
  220.   repeat with i = 1 to howMany
  221.     subtract 8 from y
  222.     drag from left,y to left+30,y+10
  223.   end repeat
  224. end drawCoins
  225.  
  226.  
  227.  
  228. -- part 10 (field)
  229. -- low flags: 00
  230. -- high flags: 0004
  231. -- rect: left=257 top=314 right=336 bottom=442
  232. -- title width / last selected line: 0
  233. -- icon id / first selected line: 0 / 0
  234. -- text alignment: 1
  235. -- font id: 20
  236. -- text size: 14
  237. -- style flags: 256
  238. -- line height: 18
  239. -- part name: Title
  240.  
  241.  
  242. -- part 8 (button)
  243. -- low flags: 00
  244. -- high flags: A003
  245. -- rect: left=197 top=314 right=336 bottom=253
  246. -- title width / last selected line: 0
  247. -- icon id / first selected line: 0 / 0
  248. -- text alignment: 1
  249. -- font id: 0
  250. -- text size: 12
  251. -- style flags: 0
  252. -- line height: 16
  253. -- part name: Pie
  254. ----- HyperTalk script -----
  255. on mouseUp
  256.   put the userLevel into saveLevel
  257.   if the userLevel < 3 then set userLevel to 3 -- "Painting"
  258.   if the userLevel < 3 then exit mouseUp
  259.   put "Sample Pie Chart" into field "Title"
  260.   put frameBottom()-frameHeight()+10 into pieTop
  261.   put frameLeft()+5 into pieLeft
  262.   put frameHeight()-20 into pieDiameter
  263.  
  264.   clearScreen
  265.   reset paint
  266.   choose oval tool
  267.   set lineSize to 2
  268.   set dragSpeed to 0
  269.   drag from pieLeft,pieTop to pieLeft+pieDiameter, pieTop+pieDiameter
  270.   set centered to false
  271.  
  272.   put the number of lines in field "Data" into dataCount
  273.   put zero into total
  274.   repeat with i = 1 to dataCount
  275.     add line i of field "Data" to total
  276.   end repeat
  277.   put "Total is" && total into background field "Total"
  278.  
  279.   put pieDiameter div 2 into pieRadius
  280.   put pieLeft+pieRadius into pieCenterX
  281.   put pieTop+pieRadius into pieCenterY
  282.  
  283.   choose line tool
  284.   put zero into angle
  285.   put zero into change
  286.   repeat with i = 1 to dataCount+1
  287.     put pieCenterX + round(pieRadius * sin(angle)) into x
  288.     put pieCenterY - round(pieRadius * cos(angle)) into y
  289.     choose line tool
  290.     drag from pieCenterX,pieCenterY to x,y
  291.     if change > .02 then
  292.       set pattern to getPattern(i)
  293.       choose bucket tool
  294.       click at halfX, halfY
  295.     end if
  296.  
  297.     get line i of field "data"
  298.     put pi * it / total into change
  299.     add change to angle
  300.     put pieCenterX + round((pieRadius-3) * sin(angle)) into halfX
  301.     put pieCenterY - round((pieRadius-3) * cos(angle)) into halfY
  302.     add change to angle
  303.  
  304.   end repeat
  305.   reset paint
  306.   choose browse tool
  307.   set userLevel to saveLevel
  308. end mouseUp
  309.  
  310. function getPattern selector
  311. return item (selector mod 12)+1 of "2,13,11,3,14,6,21,17,31,18,4,32"
  312. end getPattern
  313.  
  314.  
  315. -- part 9 (field)
  316. -- low flags: 00
  317. -- high flags: 0000
  318. -- rect: left=311 top=276 right=294 bottom=429
  319. -- title width / last selected line: 0
  320. -- icon id / first selected line: 0 / 0
  321. -- text alignment: 0
  322. -- font id: 3
  323. -- text size: 12
  324. -- style flags: 0
  325. -- line height: 16
  326. -- part name: Total
  327.